From: Colin Walters Date: Mon, 31 Jul 2017 16:35:58 +0000 (-0400) Subject: lib/commit: Rework a conditional set for clarity and Coverity X-Git-Tag: archive/raspbian/2022.1-3+rpi1~1^2~4^2~33^2~55 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=2f0707a054139174bef552adc778259f58b12125;p=ostree.git lib/commit: Rework a conditional set for clarity and Coverity Coverity complained that the `else if (bytes_read == 0)` was dead code if we happened to find it was already false when testing `else if (G_UNLIKELY (bytes_read == 0 ...`. There was nothing wrong with the logic, but let's rework it to only test the value once; I think it does end up nicer anyways. Coverity CID: 1452186 Closes: #1037 Approved by: jlebon --- diff --git a/src/libostree/ostree-repo-commit.c b/src/libostree/ostree-repo-commit.c index 1d3d6840..ab348311 100644 --- a/src/libostree/ostree-repo-commit.c +++ b/src/libostree/ostree-repo-commit.c @@ -485,10 +485,13 @@ create_regular_tmpfile_linkable_with_content (OstreeRepo *self, g_input_stream_read (input, buf, MIN (remaining, sizeof (buf)), cancellable, error); if (bytes_read < 0) return FALSE; - else if (G_UNLIKELY (bytes_read == 0 && remaining > 0)) - return glnx_throw (error, "Unexpected EOF with %" G_GUINT64_FORMAT "/%" G_GUINT64_FORMAT " bytes remaining", remaining, length); else if (bytes_read == 0) - break; + { + if (G_UNLIKELY (remaining > 0)) + return glnx_throw (error, "Unexpected EOF with %" G_GUINT64_FORMAT "/%" G_GUINT64_FORMAT " bytes remaining", remaining, length); + else + break; + } if (glnx_loop_write (tmpf.fd, buf, bytes_read) < 0) return glnx_throw_errno_prefix (error, "write"); remaining -= bytes_read;